<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // promsie是一个异步编程的解决方案
        // ajax 定时器 事件

        var num = 0
        // setTimeout(() => {
        //     num = 1
        // }, 0);
        // console.log(num)
        // Promise 本事是一个构造函数 他接收一个函数作为参数
        // 函数内部接收两个参数 第一个是resolve 第二个是reject
        // resolve是一个函数 调用resolve会立即将promise从进行中的（pending）状态 转化为成功的（fullfilled）状态
        // reject也是一个函数 调用reject会理解将promise从进行中的状态转化为失败的（rejected）状态
        var promsie = new Promise(function(resolve, reject) {
            setTimeout(() => {
                num = 1
                // resolve(num)
                reject('promsie执行失败了')
            }, 1000);
        })
        // promise 通过then方法获取promsie执行后的结果
        // 所以then方法接收两个参数 第一个是promsie执行成功的结果  第二个是promise执行失败的结果
        // promsie.then((res) => {
        //     console.log(res)
        // }, (err) => {
        //     console.log(err)
        // })

        // promsie.then(res => {

        // }).catch(err => {
        //     console.log(err)
        // })
    </script>
</body>
</html>